////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//#ifndef __FPS_FILE_SYSTEM_H__
//#define __FPS_FILE_SYSTEM_H__
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//#include "CFileSystem.h"
//
//namespace irr 
//{
//	namespace io
//	{
//		class IFileList;
//	}
//}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//class FpsFileSystem : public irr::io::CFileSystem
//{
//public:
//
//	//! constructor
//	FpsFileSystem() : irr::io::CFileSystem() {}
//
//	////! destructor
//	//virtual ~CFileSystem();
//
//	////! opens a file for read access
//	//virtual IReadFile* createAndOpenFile(const c8* filename);
//
//	////! Creates an IReadFile interface for accessing memory like a file.
//	//virtual IReadFile* createMemoryReadFile(void* memory, s32 len, const c8* fileName, bool deleteMemoryWhenDropped = false);
//
//	////! Opens a file for write access.
//	//virtual IWriteFile* createAndWriteFile(const c8* filename, bool append=false);
//
//	////! adds an zip archive to the filesystem
//	//virtual bool addZipFileArchive(const c8* filename, bool ignoreCase = true, bool ignorePaths = true);
//	//virtual bool addFolderFileArchive(const c8* filename, bool ignoreCase = true, bool ignorePaths = true);
//
//	////! adds an pak archive to the filesystem
//	//virtual bool addPakFileArchive(const c8* filename, bool ignoreCase = true, bool ignorePaths = true);
//
//	////! Returns the string of the current working directory
//	//virtual const c8* getWorkingDirectory();
//
//	////! Changes the current Working Directory to the string given.
//	////! The string is operating system dependent. Under Windows it will look
//	////! like this: "drive:\directory\sudirectory\"
//	//virtual bool changeWorkingDirectoryTo(const c8* newDirectory);
//
//	//! Converts a relative path to an absolute (unique) path, resolving symbolic links
//	//virtual irr::core::stringc getAbsolutePath(const irr::core::stringc& filename) const;
//
////	//! Returns the directory a file is located in.
////	/** \param filename: The file to get the directory from */
////	virtual core::stringc getFileDir(const core::stringc& filename) const;
////
////	//! Returns the base part of a filename, i.e. the name without the directory
////	//! part. If no directory is prefixed, the full name is returned.
////	/** \param filename: The file to get the basename from */
////	core::stringc getFileBasename(const core::stringc& filename, bool keepExtension=true) const;
////
////	//! Creates a list of files and directories in the current working directory 
////	//! and returns it.
////	//virtual irr::io::IFileList* createFileList() const;
//
//	virtual irr::io::IFileList* createFileList(const irr::core::stringc& pack , const irr::core::stringc& folder , const irr::core::stringc& ext);
////
////	//! determinates if a file exists and would be able to be opened.
////	virtual bool existFile(const c8* filename) const;
////
////	//! determines if a file exists and would be able to be opened.
////	bool existFile(const core::stringc& filename) const
////	{
////		return existFile(filename.c_str());
////	}
////
////	//! Creates a XML Reader from a file.
////	virtual IXMLReader* createXMLReader(const c8* filename);
////
////	//! Creates a XML Reader from a file.
////	virtual IXMLReader* createXMLReader(IReadFile* file);
////
////	//! Creates a XML Reader from a file.
////	virtual IXMLReaderUTF8* createXMLReaderUTF8(const c8* filename);
////
////	//! Creates a XML Reader from a file.
////	virtual IXMLReaderUTF8* createXMLReaderUTF8(IReadFile* file);
////
////	//! Creates a XML Writer from a file.
////	virtual IXMLWriter* createXMLWriter(const c8* filename);
////
////	//! Creates a XML Writer from a file.
////	virtual IXMLWriter* createXMLWriter(IWriteFile* file);
////
////	//! Creates a new empty collection of attributes, usable for serialization and more.
////	virtual IAttributes* createEmptyAttributes(video::IVideoDriver* driver);
////
////	static FILE* open(const char*filename, const char *attrib);
////
////protected:
////
////	core::array<CZipReader*> ZipFileSystems;
////	core::array<CPakReader*> PakFileSystems;
////	core::array<CUnZipReader*> UnZipFileSystems;
////	static c8 WorkingDirectory[FILE_SYSTEM_MAX_PATH];
//};
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//#endif //__FPS_FILE_SYSTEM_H__
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
